﻿// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include"xxaa.h"

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

double input1(double arr[], double hrr[], int len)
{
	printf("请输入大学美育成绩：");
	scanf("%lf", &arr[0]);
	printf("请输入大学生心理健康教育成绩：");
	scanf("%lf", &arr[1]);
	printf("请输入大学体育1成绩：");
	scanf("%lf", &arr[2]);
	printf("请输入大学外语1成绩：");
	scanf("%lf", &arr[3]);
	printf("请输入高等数学（1）成绩：");
	scanf("%lf", &arr[4]);
	printf("请输入思想道德与法治成绩：");
	scanf("%lf", &arr[5]);
	printf("请输入线性代数成绩：");
	scanf("%lf", &arr[6]);
	printf("请输入职业生涯规划成绩：");
	scanf("%lf", &arr[7]);
	printf("请输入智能制造导论成绩：");
	scanf("%lf", &arr[8]);
	printf("请输入C语言程序设计成绩：");
	scanf("%lf", &arr[9]);
	printf("请输入创新创业指导成绩：");
	scanf("%lf", &arr[10]);
	printf("请输入大学体育2成绩：");
	scanf("%lf", &arr[11]);
	printf("请输入大学外语2成绩：");
	scanf("%lf", &arr[12]);
	printf("请输入高等数学（2）成绩：");
	scanf("%lf", &arr[13]);
	printf("请输入国家安全教育成绩：");
	scanf("%lf", &arr[14]);
	printf("请输入画法几何与机械制图成绩：");
	scanf("%lf", &arr[15]);
	printf("请输入普通物理（1）成绩：");
	scanf("%lf", &arr[16]);
	printf("请输入普通物理实验（1）成绩：");
	scanf("%lf", &arr[17]);
	printf("请输入人工智能素养成绩：");
	scanf("%lf", &arr[18]);
	printf("请输入中国近现代史纲要成绩：");
	scanf("%lf", &arr[19]);
	double sum = 0.0;
	double sum1 = 0.0;
	double sum2 = 0.0;
	for (int i = 0; i < len; i++)
	{
		sum1 += (arr[i] * hrr[i]);
	}
	for (int i = 0; i < len; i++)
	{
		sum2 += hrr[i];
	}
	sum = sum1 / sum2;
	return sum;
}
double input2(double trr[], int len)
{
	printf("请输入任职分（注意，此处若有多个任职，按照最高分选项算，不可以累加）\n");
	scanf("%lf", &trr[0]);
	printf("请输入荣誉分\n");
	scanf("%lf", &trr[1]);
	printf("请输入活动分（活动分超过10分按照10分算，最高填10分）\n");
	scanf("%lf", &trr[2]);
	printf("请输入扣分\n");
	scanf("%lf", &trr[3]);
	double  sm = 0;
	for (int i = 0; i < len - 1; ++i)
	{
		sm += trr[i];
	}
	sm = sm - trr[3] + 80;
	return sm;
}
double input3(double krr[], int len)
{
	printf("请输入专业技能分\n");
	scanf("%lf", &krr[0]);
	printf("请输入学科、创新创业竞赛、文体等比赛获奖分\n");
	scanf("%lf", &krr[1]);
	printf("请输入学术与科技创新分\n");
	scanf("%lf", &krr[2]);
	double sm2 = 0.0;
	sm2 = krr[0] + krr[1] + krr[2];
	return sm2;
}
int main()
{
	printf("输入完一门科目的成绩按一次回车继续输入下一门科目的成绩\n");
	printf("如果中途输入错误了，请重新打开程序从第一门科目重新开始输入\n");
	printf("\n");
	double x = 48.5;//总学分
	double arr[20] = { 0.0 };
	double hrr[20] = { 2.0, 2.0, 1.0, 4.0, 4.0, 3.0, 3.0, 1.0, 1.0, 3.0, 0.5, 1.0, 4.0, 4.0, 2.0, 3.5, 4.0, 0.5, 2.0, 3.0 };
	int len = sizeof(arr) / sizeof(arr[0]);
	double sum = 0.0;
	sum = input1(arr, hrr, len);
	//sum = 65.0;//测试临时代码
	printf("你的学业加权平均成绩为：%lf\n", sum);

	double trr[4] = { 0 };
	double sm = input2(trr, 4);
	printf("你的基本素质考评分为%lf\n", sm);

	double basescore = 0.0;
	basescore = sum * 0.7 + sm * 0.3;
	printf("你的基础分为%lf\n", basescore);

	//接下来算创新实践分
	double krr[3] = { 0.0 };
	double sm2 = 0.0;
	sm2 = input3(krr, 3);
	printf("你的创新实践能力分为%lf\n", sm2);

	//下面算总分
	double smm = 0.0;
	smm = basescore + sm2 * 0.2;
	printf("你的综测总分为%lf\n", smm);
	printf("\n程序运行结束，按任意键关闭窗口...");
	getchar(); // 吸收之前输入残留的回车
	getchar(); // 等待用户输入
	return 0;
}
// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单

// 入门使用技巧: 
//   1. 使用解决方案资源管理器窗口添加/管理文件
//   2. 使用团队资源管理器窗口连接到源代码管理
//   3. 使用输出窗口查看生成输出和其他消息
//   4. 使用错误列表窗口查看错误
//   5. 转到“项目”>“添加新项”以创建新的代码文件，或转到“项目”>“添加现有项”以将现有代码文件添加到项目
//   6. 将来，若要再次打开此项目，请转到“文件”>“打开”>“项目”并选择 .sln 文件
